#ifndef _CYLINDER_TT_
#define _CYLINDER_TT_

//================================================================================================================================
//================================================================================================================================
#include "solver_tt.h"
#include "cylinder_global.h"

//================================================================================================================================
//================================================================================================================================
/// Клас реализует геометрезависимую часть решения задачи, реализованного в классе SolverTt
class CYLINDER_EXPORT CylinderTt : public SolverTt
{
public:
    /// Считывание геометрезависимых настроек. Завершение инициализации данных.
    CylinderTt();

    /// Перестройка сетки с учетом продвижения фронта.
    bool recreateNet();

private:
    //****************************************************************************************************************************
    //****************************************************************************************************************************
    QList<geometry::_2d::Point> identifyFront(double temperature);
    QList<geometry::_2d::Point> identifyFrontExt(double temperature);

    //****************************************************************************************************************************
    // Геометрические параметры каркаса конечноэлементной сетки.
    //****************************************************************************************************************************
    double m_R[13]; ///< r-координаты опорных точек.
    double m_Z[13]; ///< z-координаты опорных точек.
    double m_L[19]; ///< Длины сегментов границ подобласти.
    int m_N[19];    ///< Число узлов вдоль границ сегментов подобласти.
};

#endif // _CYLINDER_TT_
